package org.tis.tools.starter.mybatisplus.querykit.model;

import lombok.Data;
import org.tis.tools.starter.mybatisplus.querykit.enums.QueryLogic;
import org.tis.tools.starter.mybatisplus.querykit.enums.QueryOperator;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * description: 查询条件的基类
 *
 * @author zhaoch
 * @date 2018/10/8
 **/
@Data
public class BaseQuery {

    /**
     * 查询逻辑符，有与和或,默认为AND
     */
    private QueryLogic logic = QueryLogic.AND;

    /**
     * 查询运算符 有等于，大于...
     */
    @NotNull(message = "匹配运算不能为空")
    private QueryOperator operator;

    /**
     * 传递参数集合，如eq需要两个参数，null需要一个参数， in需要至少两个参数
     */
    private List<String> params;

    public BaseQuery(QueryLogic logic, QueryOperator operator) {
        this.logic = logic;
        this.operator = operator;
    }

    public BaseQuery() {
    }
}
